package it.mercatino.catalogo;

import java.util.List;

import it.mercatino.hibernate.Articolo;
import com.opensymphony.xwork2.ActionSupport;

/**
 * Action che viene richiamata quando si vogliono visuaizzare gli articoli
 * di una data categoria o di un dato inserzionista.
 * 
 * @author Marco
 *
 */
public class Catalogo2Action extends ActionSupport {

	private static final long serialVersionUID = 1L;
	
	private int idCategoria;
	private int idUtente;
	private List<Articolo> articoli;
	
	/**
	 * Recupera gli articoli relativi ad una data categoria e a tutte le sue
	 * sottocategorie.
	 * 
	 * @return "success", se vengono trovati risultati.<br>"no_results", se non
	 * viene trovato alcun risultato.
	 */
	public String execute() {
		articoli = CatalogoUtil.getInstance().getArticoliAllSubCategorias(idCategoria);
		if (articoli == null || articoli.isEmpty())
			return "no_results";
		else
			return SUCCESS;
	}
	
	/**
	 * Recupera gli articoli relativi ad un dato inserzionista.
	 * 
	 * @return "success", se vengono trovati risultati.<br>"no_results", se non
	 * viene trovato alcun risultato.
	 */
	public String inserzioni() {
		articoli = CatalogoUtil.getInstance().getArticoliInserzionista(idUtente);
		if (articoli == null || articoli.isEmpty())
			return "no_results";
		else		
			return SUCCESS;
	}

	/**
	 * @return the idCategoria
	 */
	public int getIdCategoria() {
		return idCategoria;
	}

	/**
	 * @param idCategoria the idCategoria to set
	 */
	public void setIdCategoria(int idCategoria) {
		this.idCategoria = idCategoria;
	}

	/**
	 * @return the idUtente
	 */
	public int getIdUtente() {
		return idUtente;
	}

	/**
	 * @param idUtente the idUtente to set
	 */
	public void setIdUtente(int idUtente) {
		this.idUtente = idUtente;
	}

	/**
	 * @return the articoli
	 */
	public List<Articolo> getArticoli() {
		return articoli;
	}

	/**
	 * @param articoli the articoli to set
	 */
	public void setArticoli(List<Articolo> articoli) {
		this.articoli = articoli;
	}
	
}
